#ifndef ENEMY_H_
#define ENEMY_H_

#include "CHubState.h"
#include "CBaseObject.h"
#include "IListener.h"


class CBaseEnemy : public CBaseObject, public IListener
{
private:
	bool m_bAlive;
	bool m_bPassive;
	int m_nAttackPower;
	float m_nAttackRange;

	VIN_Vector2D m_vDistanceToPlayer;


public:
	bool flip;

	int GetPower() { return m_nAttackPower; }
	void SetPower(int newAttackPower) { m_nAttackPower = newAttackPower; }

	float GetRange() { return m_nAttackRange; }
	void SetRange(float newAttackRange) { m_nAttackRange = newAttackRange; }

	bool GetAlive() { return m_bAlive; }
	void SetAlive(bool newAlive) { m_bAlive = newAlive; }

	bool GetPassive() { return m_bPassive; }
	void SetPassive(bool newPassive) { m_bPassive = newPassive; }

	VIN_Vector2D GetDistanceToPlayer() { return m_vDistanceToPlayer; }
	void SetDistanceToPlayer(VIN_Vector2D newDistance) { m_vDistanceToPlayer = newDistance; }

	CBaseEnemy();
	~CBaseEnemy();
	virtual void HurtMe(int AmountOfDamageTaken);
	virtual void Attack();
	virtual void Render();
	virtual void Update( float fElapsedTime);
	virtual void HandleEvent(CEvent* pEvent);

};



#endif